package com.derive.education_service.web.content.service;

import com.derive.education_service.common.global.Paper;
import com.derive.education_service.common.global.ResponseMessage;
import com.derive.education_service.entity.Content;
import com.derive.education_service.web.content.bean.dto.ContentAddDto;
import com.derive.education_service.web.content.bean.dto.ContentUpDto;
import com.derive.education_service.web.content.bean.dto.QueryParam;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * 业务内容
 */
@Component
public interface ContentService {
    // 添加内容信息 -- 包括资源信息，没有资源则后面再添加也可
    // logo+资源+内容信息
    ResponseMessage addBusinessContent(MultipartFile logoFile, List<MultipartFile> files, ContentAddDto contentAddDto);

    // 删除内容信息 -- 存在资源，连带删除资源
    ResponseMessage delBusinessContent(int contentId);

    // 更新内容信息 -- 支持改内容+logo
    ResponseMessage upBusinessContent(MultipartFile file, ContentUpDto contentUpDto);

    // 查询内容详情信息 -- 带内容信息+资源信息
    ResponseMessage getContentById(int contentId);

    // 查询内容列表信息 -- 分页，条件查询(内容资源信息，查询资源详情的时候才需要用)
    Paper<Map<String, Object>> getContentList(QueryParam queryParam);
}
